home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 May / EnigmA AMIGA RUN 18 (1997)(G.R. Edizioni)(IT)[!][issue 1997-05][EAR-CD II].iso / earcd / misc / emu / arosdev.lha / AROS / configure < prev    next >
Text File  |  1997-02-07  |  6KB  |  231 lines

  1. #!/bin/sh
  2. # Simple script to create host.cfg
  3. #
  4.  
  5. if [ "x" = "x$1" -o "x" = "x$2" ]; then
  6.     echo "Usage: $0 (-h|-m) <configfile>"
  7.     echo "Writes the system specific things to <configfile>"
  8.     echo "Either -h or -m must be specified. -h means to write"
  9.     echo "a C header file with defines and -m means to write a"
  10.     echo "config for make."
  11.     exit 1
  12. fi
  13.  
  14. type=`uname`
  15. proc=`uname -m`
  16.  
  17. # Reasonable defaults
  18. # $COMMON_CFLAGS - the compile-flags for objects that are a part of AROS.
  19. # $APP_CFLAGS     - the compile-flags for applications that will run under AROS
  20. #           (e.g. AROS/c/#?). If you do not define this, $COMMON_CFLAGS
  21. #           will be used.
  22. CC="cc"
  23. COMMON_CFLAGS="-g"
  24. RANLIB="ranlib"
  25. GUI_LIBDIR=""
  26. GUI_INCDIR=""
  27. GUI_LIBFLAGS=""
  28. MKDEPEND="makedepend"
  29. FLAVOUR="emulation"
  30.  
  31. # Flags to link AROS binaries (ie. binaries which are to be started
  32. # inside AROS). What we need is something like a shared lib: All
  33. # references resolved but no startup-code added.
  34. ILDFLAGS="-nostartfiles -nostdlib"
  35.  
  36. # If you need a special kind of assembler (eg. as), set $AS. If $AS is not
  37. # set, $CC is used.
  38. # Special flags for $AS are taken from $COMMON_AFLAGS, if it exists or
  39. # from $COMMON_CFLAGS otherwise.
  40. # If X11 is installed in a directory of it's own, you can specify that
  41. # directory in $GUI_BASEDIR. $GUI_LIBDIR will then point to $GUI_BASEDIR/lib
  42. # and $GUI_LDFLAGS will contain -L$GUI_LIBDIR. The same applies to $GUI_INCDIR.
  43. # If only one part is in a nonstandard place (eg. the libs), you
  44. # can set one of the $GUI_LIBDIR/GUI_INCDIRs, too.
  45.  
  46. case "$type" in
  47. "Linux" )
  48.     # The main compiler
  49.     CC="gcc"
  50.     # The CFLAGS usually to use (in addition to the includes and use flags)
  51.     COMMON_CFLAGS="-Wall -g -O0"
  52.     # CFLAGS to be used to link applications
  53.     ILDFLAGS="-nostartfiles -nostdlib -Xlinker -i"
  54.     # Which OS ?
  55.     ARCH="linux"
  56.     # Which CPU ?
  57.     if [ "$proc" = "m68k" ]; then
  58.         KERNEL="m68k-emul"
  59.         # How to generate dependency files
  60.         MKDEPEND="makedepend -D__GNUC__ -D__mc68000__"
  61.     else
  62.         KERNEL="i386"
  63.         MKDEPEND="makedepend -D__GNUC__ -Di386"
  64.     fi
  65.     # Search this directory for GUI libs
  66.     GUI_LIBDIR="/usr/X11R6/lib"
  67.     # Link with these GUI libs
  68.     GUI_LIBFLAGS="-lX11"
  69.     # The flags usually passed to the assembler
  70.     COMMON_AFLAGS="-x assembler-with-cpp"
  71.     # Flags to compile objects for shared libs
  72.     SHARED_CFLAGS="-fpic"
  73.     # Command to generate shared libs
  74.     SHARED_AR="ld -shared -o"
  75.     ;;
  76. "HP-UX" )
  77.     COMMON_CFLAGS="-Aa -g"
  78.     RANLIB="true"
  79.     ARCH="hppa"
  80.     KERNEL="hppa-emul"
  81.     ;;
  82. "OSF1" )
  83.     ARCH="decunix"
  84.     KERNEL="axp-emul"
  85.     ;;
  86. "FreeBSD" )
  87.     ARCH="freebsd"
  88.     KERNEL="i386"
  89.     COMMON_CFLAGS="-Wall -O2"
  90.     ILDFLAGS="-nostartfiles -nostdlib -Xlinker -r -Xlinker -n -Xlinker -e -Xlinker _entry"
  91.     GUI_BASEDIR="/usr/X11R6"
  92.     GUI_LIBFLAGS="-lX11"
  93.     AS="gcc"
  94.     CC="gcc"
  95.     COMMON_AFLAGS="-x assembler-with-cpp"
  96.     SHARED_CFLAGS=""
  97.     SHARED_AR=""
  98.     MKDEPEND="makedepend -D__GNUC__ -Di386"
  99.     ;;
  100. "AmigaOS" )
  101.     CC="gcc"
  102.     COMMON_CFLAGS="-Wall -Wno-uninitialized -O2 -m68020 -fomit-frame-pointer"
  103.     ARCH="amiga"
  104.     KERNEL="m68k-native"
  105.     MKDEPEND="makedepend -D__GNUC__ -D_AMIGA -DAMIGA"
  106. # Sometimes, a .asm file contains versions of a certain routine for
  107. # different processors. Use -m68060 as a highest common denominator.
  108. # It is up to the coder of these routines to keep track of their
  109. # instructions.
  110.     COMMON_AFLAGS="-m68060 -x assembler-with-cpp"
  111.     FLAVOUR="native"
  112.     ;;
  113. esac
  114.  
  115. if [ -n "$FLAVOURS" ]; then
  116.     echo "On your hardware, AROS is available in these flavours:"
  117.     echo
  118.     t=1
  119.     for flavour in $FLAVOURS ; do
  120.     echo "    $t. $flavour"
  121.     t=`expr $t + 1`
  122.     done
  123.     echo
  124.     echo "Which flavour do you want (enter number) ?"
  125.     read flavour
  126. #   echo $flavour
  127.     flavour=`echo $FLAVOURS | cut "-d " -f$flavour`
  128.     if [ -z $flavour ]; then
  129.     echo "Invalid input."
  130.     exit 10
  131.     fi
  132.     FLAVOUR=$flavour
  133. fi
  134.  
  135. case "$1" in
  136. "-m" )
  137.     echo "# This file is automatically generated if it doesn't exist" > $2
  138.     echo "# DO NOT EDIT" >> $2
  139.     echo "# Edit \$(TOP)/configure instead and delete this file" >> $2
  140.     echo >> $2
  141.     echo "SYS_CC = $CC" >> $2
  142.     echo "COMMON_CFLAGS = $COMMON_CFLAGS" >> $2
  143.     echo "ILDFLAGS = \$(CFLAGS) $ILDFLAGS" >> $2
  144.     echo "RANLIB = $RANLIB" >> $2
  145.     echo "ARCH = $ARCH" >> $2
  146.     echo "KERNEL = $KERNEL" >> $2
  147.     echo "FLAVOUR = $FLAVOUR" >> $2
  148.  
  149.     if [ -z "$AS" ]; then
  150.     echo "SYS_AS = $CC" >> $2
  151.     else
  152.     echo "SYS_AS = $AS" >> $2
  153.     fi
  154.     if [ -z "$COMMON_AFLAGS" ]; then
  155.     echo "COMMON_AFLAGS = $COMMON_CFLAGS" >> $2
  156.     else
  157.     echo "COMMON_AFLAGS = $COMMON_AFLAGS" >> $2
  158.     fi
  159.  
  160.     if [ -z "$APP_CFLAGS" ]; then
  161.     echo "APP_CFLAGS = $COMMON_CFLAGS" >> $2
  162.     else
  163.     echo "APP_CFLAGS = $APP_CFLAGS" >> $2
  164.     fi
  165.  
  166.     if [ -n "$GUI_BASEDIR" ]; then
  167.     GUI_LIBDIR=$GUI_BASEDIR/lib
  168.     GUI_INCDIR=$GUI_BASEDIR/include
  169.     fi
  170.  
  171.     if [ -n "$GUI_LIBDIR" ]; then
  172.     echo "GUI_LIBDIR = $GUI_LIBDIR" >> $2
  173.     echo "GUI_LDFLAGS = -L$GUI_LIBDIR" >> $2
  174.     else
  175.     echo "GUI_LIBDIR = /usr/lib" >> $2
  176.     echo "GUI_LDFLAGS =" >> $2
  177.     fi
  178.     if [ -n "$GUI_INCDIR" ]; then
  179.     echo "GUI_INCDIR = $GUI_INCDIR" >> $2
  180.     echo "GUI_CCFLAGS = -I$GUI_INCDIR" >> $2
  181.     else
  182.     echo "GUI_INCDIR = /usr/include" >> $2
  183.     echo "GUI_CCFLAGS =" >> $2
  184.     fi
  185.  
  186.     echo "GUI_LIBFLAGS = $GUI_LIBFLAGS" >> $2
  187.     echo "MKDEPEND = $MKDEPEND" >> $2
  188.  
  189.     if [ -n "$SHARED_CFLAGS" ]; then
  190.     echo "SHARED_CFLAGS = $SHARED_CFLAGS" >> $2
  191.     echo "SHARED_AR = $SHARED_AR" >> $2
  192.     fi
  193.  
  194.     if [ -d config ]; then
  195.     cd config ; make TOP=.. CURDIR=./config setup
  196.     fi
  197.     ;;
  198. "-h" )
  199.     echo "#ifndef AROS_CONFIG_H" > $2
  200.     echo "#define AROS_CONFIG_H" >> $2
  201.     echo "/*" >> $2
  202.     echo "    This file is automatically generated if it doesn't exist" >> $2
  203.     echo "    DO NOT EDIT" >> $2
  204.     echo "    Edit \$(TOP)/configure instead and delete this file" >> $2
  205.     echo "*/" >> $2
  206.     echo >> $2
  207.     echo "#define AROS_FLAVOUR_NATIVE           2" >> $2
  208.     echo "#define AROS_FLAVOUR_STANDALONE       3" >> $2
  209.     echo "#define AROS_FLAVOUR_EMULATION        4" >> $2
  210.     echo "#define AROS_FLAVOUR_LINKLIB          5" >> $2
  211.     echo >> $2
  212.     case "$FLAVOUR" in
  213.     "native" )
  214.     echo "#define AROS_FLAVOUR  AROS_FLAVOUR_NATIVE" >> $2
  215.     ;;
  216.     "standalone" )
  217.     echo "#define AROS_FLAVOUR  AROS_FLAVOUR_STANDALONE" >> $2
  218.     ;;
  219.     "emulation" )
  220.     echo "#define AROS_FLAVOUR  AROS_FLAVOUR_EMULATION" >> $2
  221.     ;;
  222.     "linklib" )
  223.     echo "#define AROS_FLAVOUR  AROS_FLAVOUR_LINKLIB" >> $2
  224.     ;;
  225.     esac
  226.     echo >> $2
  227.     echo "#endif /* AROS_CONFIG_H */" >> $2
  228.     ;;
  229. esac
  230.  
  231.